import random
# TODO random.random()  实数相关 用于生成一个0到1的随机浮点数 :[0, 1)  [ 用它包括0 ) 用它不包括1
for i in range(5):
    print(random.random())

# TODO random.randint(a, b) 整数相关 生成[a, b]的随机整数 要求a <b
print(random.randint(1, 8888))
print('%06d' % random.randint(1, 66666))

# TODO random.randrange(a, b, step) 生成[a,b)的随机整数 ,第三个参数可以指定步长
print(random.randrange(1, 10))
print(random.randrange(1, 20, 2))

 # TODO random.choice()  序列相关 从随机序列中随机选择一个元素,若序列为空,则抛出异常
 # list
list1 = [1, 2, 3]
print(random.choice(list1))
# str
print(random.choice('ahdbg'))
# tuple
print(random.choice((1, 2, 3, 'a')))

# TODO random.sthffle(seq)  打乱原序列,原序列必须是可写
list1 = [1, 2, 3, 4, 'a', 'b']
random.shuffle(list1)
print(list1)
str1 = 'kusfsg'
# random.shuffle(str1)            #报错 字符串不是可变数据类型
# TODO random.sample(seq,k) 从序列中随机选择k个元素返回, 原序列不变
print(random.sample([1, 2, 3, 4], 2))
print(random.sample('sduihojhib', 5))



# TODO random.seed(n=None) 初始化随机熵池  熵池(用于随机数生成。系统会生成好放在池子里，定时补充)
random.seed(2)
print(random.randint(1, 88888))